package com.mti.epivisite.common.event
{
	import flash.utils.ByteArray;
	
	import media.MediaPicture;
	import media.MediaPoint;
	import media.MediaText;
	
	import org.puremvc.as3.patterns.proxy.Proxy;
	
	public class EventProxyBase extends Proxy
	{
		public static const NAME:String = "EventProxy";
		
		// Notifications
		public static const LOAD_SUCCESS:String = "EventProxy_LoadSuccess";
		public static const LOAD_ERROR:String = "EventProxy_LoadError";
		public static const SAVE_SUCCESS:String = "EventProxy_SaveSuccess";
		public static const SAVE_ERROR:String = "EventProxy_SaveError";
		public static const GET_POINTS_SUCCESS:String = "EventProxy_GetPointsSuccess";
		public static const GET_POINTS_ERROR:String = "EventProxy_GetPointsError";
		
		public var poiName:String = null;
		public function get poi():MediaPoint
		{
			for each (var o:MediaPoint in baseEvent.pointList)
			{
				if (o.title == poiName)
					return o;
			}
			return null;
		}

		public function EventProxyBase()
		{
			super(NAME);
		}
		
		[Bindable]
		public var baseEvent:EpivisiteEvent = null;
		
		[Bindable]
		public var modifiedEvent:EpivisiteEvent = null;
		
		private var _isLoaded:Boolean = false;
		public function get isLoaded():Boolean
		{
			return _isLoaded;
		}
		public function set isLoaded(value:Boolean):void
		{
			_isLoaded = value;
		}
		
		public function load(name:String):void {}
		
		public function getEventList():void {}
		
		public function save(event:EpivisiteEvent):void {}
		
		public function updatePassword(event:EpivisiteEvent, pass:String):void {}
		public function updateDescription(event:EpivisiteEvent, desc:String):void {}
		public function updateStartDate(event:EpivisiteEvent, date:Date):void {}
		public function updateEndDate(event:EpivisiteEvent, date:Date):void {}
		public function updateMap(event:EpivisiteEvent, array:ByteArray):void {}
		public function updateTitle(event:EpivisiteEvent, title:String):void {}
		public function deleteEvent(event:EpivisiteEvent):void {}
		public function updatePointDescription(event:EpivisiteEvent, point:MediaPoint):void {}
		public function updatePointPositionX(event:EpivisiteEvent, point:MediaPoint):void {}
		public function updatePointPositionY(event:EpivisiteEvent, point:MediaPoint):void {}
		public function getPoints(event:EpivisiteEvent):void {}
		public function addPoint(media:MediaPoint, event:EpivisiteEvent):void {}
		public function deletePoint(event:EpivisiteEvent, name:String):void {}
		public function addPicture(event:EpivisiteEvent, picture:MediaPicture, array:ByteArray):void {}
		public function deletePicture(event:EpivisiteEvent, picturename:String, pointname:String):void {}
		public function updatePictureDescription(event:EpivisiteEvent, picture:MediaPicture):void {}
		public function updatePictureImage(event:EpivisiteEvent, picture:MediaPicture, array:ByteArray):void {}
		public function addText(event:EpivisiteEvent, text:MediaText):void {}
		public function updateTextShortText(event:EpivisiteEvent, text:MediaText):void {}
		public function updateTextText(event:EpivisiteEvent, text:MediaText):void {}
		public function deleteText(event:EpivisiteEvent, textname:String, pointname:String):void {}
	}
}